1. Field of the Invention
The present invention relates to an object, a method, or a manufacturing method. In addition, the present invention relates to a process, a machine, manufacture, or a composition of matter. In particular, one embodiment of the present invention relates to, for example, a semiconductor device, a display device, a light-emitting device, a storage device, a driving method thereof, or a manufacturing method thereof. One embodiment of the present invention particularly relates to a semiconductor device. One embodiment of the present invention particularly relates to, for example, a programmable logic device in which configuration of hardware can be changed and a semiconductor device including the programmable logic device, and a driving method thereof.
2. Description of the Related Art
A programmable logic device (PLD) is an integrated circuit that can function with a circuit structure set by a user after manufacturing. Compared to an integrated circuit in which all circuits are fixed at the time of manufacturing, PLDs have advantages in reduction in development period and flexibility in design specification. PLDs are widely used in semiconductor devices.
Examples of the PLDs are a programmable array logic (PAL) and a generic array logic (GAL) that are small-scale circuits, and a complex programmable logic device (CPLD) and a field programmable gate array (FPGA) that are large-scale circuits. In this specification, a circuit such as a PAL, a GAL, a CPLD, an FPGA, or the like is called a programmable logic device (hereinafter referred to as a PLD).
A PLD includes at least a logic element (hereinafter referred to as an LE). A plurality of LEs are electrically connected to each other with wirings. A function of the PLD can be changed by changing a function of the LE. Moreover, a function of the PLD can be changed by changing a conduction state of wirings between the LEs.
The PLD can include a configuration memory. When the PLD includes a plurality of groups of the configuration memories, different configuration data can be stored. A method where switching of selected configuration data among the groups is performed during operation of the PLD is called a multi-context method. In the PLD having a multi-context function, a circuit structure can be changed at high speed just by selecting a group of configuration data. In addition, while the PLD having the multi-context function performs circuit operation in accordance with the selected configuration data, it can rewrite non-selected configuration data, i.e., can perform dynamic reconfiguration.
The below Non-patent Document 1 describes a PLD with a multi-context method. It describes that a potential of a node SN can increase with a boosting function of a path transistor in the PLD, so that a switching speed can be improved, compared to a case using a conventional SRAM.